package cn.ciis.basic.plugin;

import cn.ciis.server.CiisPacket;


public abstract class CiisHandler {

    /**
     * 下一个处理调用的CiisHandler
     */
    protected CiisHandler next;

    /**
     *
     * @param packet 解析出来的数据包
     * @param ciisSessionContext t-io的会话
     */
    public abstract void handle(CiisPacket packet, CiisSessionContext ciisSessionContext);

    /**
     * 调用下一个handler。如果不调用此方法。就会终止后面的handler调用
     * @param packet 解析出来的数据包
     * @param ciisSessionContext t-io的会话
     */
    public void goNext(CiisPacket packet, CiisSessionContext ciisSessionContext){
        if (null != next){
            next.handle(packet, ciisSessionContext);
        }
    }
}
